#ifndef __QyAbstractTool__
#define __QyAbstractTool__

class QyToolRender;

class QyAbstractTool {
public:
    explicit QyAbstractTool( QyToolRender * render = 0 ) : p_render(0) { setRender(render); }
    virtual ~QyAbstractTool() {}

    QyToolRender * render() const { return p_render; }
    virtual bool isEnabled() const = 0;

    void setRender( QyToolRender * render );
    virtual void setEnabled( bool enabled ) = 0;

private:
    QyToolRender * p_render;

};

#endif//__QyAbstractTool__
